package JDBC.jdbc;

import com.mysql.jdbc.Driver;

import java.sql.*;
import java.util.Collection;
import java.util.Properties;
import java.util.logging.Logger;

public class main {
    public static void main(String[] args) throws Exception {
//        注册驱动（弊端：重复执行）
        DriverManager.registerDriver(new Driver());
//        建立连接
        Connection connection = DriverManager.getConnection
                ("jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf8&useSSL=false", "root", "123456");

        //        编写sql即添加操作(在java中编写sql，结尾  可以省略)
        String sql = "insert into account(id,name,money) values(?,?,?)";

        //    获取sql执行对象
        Statement statement = connection.createStatement();
        //        执行sql并返回结果
        int i = statement.executeUpdate(sql);
        if (i > 0) {
            System.out.println("添加成功");
        } else {
            System.out.println("添加失败");
        }
        System.out.println(i);

        //        释放资源
        statement.close();
        connection.close();
    }



//    优秀的连接方式
/*    public static void conn() {
        Connection connection;
        String url = "jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf8&useSSL=false";   //数据库连接的url地址
        String user = "root";   //数据库用户名
        String password = "123456";  //数据库密码
        try {
            //加载数据库驱动,该格式使用于  mysql-connection-java 5中的
            Class.forName("com.mysql.jdbc.Driver");
//            该格式使用于 mysql-connection-java 6以及以上的
//            Class.forName("com.mysql.cj.jdbc.Driver");
            System.out.println("数据库驱动加载成功！");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        try {
            //通过DriverManager获取数据库连接
            connection = DriverManager.getConnection(url, user, password);
            System.out.println("数据库连接成功！");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) throws SQLException {
        main.conn();   //静态方法：直接使用类名.方法名调用
    }*/
}
